iT邦幫忙

2021 iThome 鐵人賽

DAY 1
1

在上一步我們建立了一個基礎的echo的server
緊接著我們就要建立第一個crud的api了

關於我們未來會需要幾個資料表
request(儲存需要觸發的IOT物件)
command(使用者需要觸發的事件)
而這個系統最基礎的需求是

使用者可以透過命令的觸發,來依序執行request的事件
而每個request可以被多個命令重複利用

所以因為這些需求,會需要開設這些表
table: request
columns:

  • uuid(uuid)
  • create_at(timestamptz)
  • update_at(timestamptz)
  • name(varchar)

table: command
columns:

  • uuid(uuid)
  • create_at(timestamptz)
  • update_at(timestamptz)
  • url(varchar)

table:request_command
columns:

  • uuid(uuid)
  • create_at(timestamptz)
  • update_at(timestamptz)
  • request_uuid(uuid)
  • command_uuid(uuid)
  • order(int)

而在我們的流程中,要先有command跟request才可以建立其中的連結,因此需要先建立commands/requests的api

需要完成的API規格如下
https://www.postman.com/collections/c00ca09e40a2769fd96e

在屬性命名上,屬性名稱主要是camel case,首字為小寫

另外,在api的規範上,參考JSend
https://github.com/omniti-labs/jsend

規範如下

  • 成功
    • 定義
      要求被成功執行
    • 資料格式如下
{
    "status": "success",
    "data": {
        // 回傳的資料內容
    }
}
  • 失敗
    • 定義
      資料被正常執行完,發現其中資料有被程式檢查出來的問題時
    • 資料格式如下
{
    "status": "fail",
    "data": {
        // 資料格式不對的回傳內容
    }
}
  • 錯誤
    • 定義
      資料並沒有被正確的處理,而回傳的錯誤
    • 資料格式如下
{
    "status": "error",
    "message": "錯誤訊息"
}

上一篇
建立第一個RESTful api server(番外篇)-postman使用(Day13)
下一篇
建立第一個RESTful api server(實作篇)-3 (Day15)
系列文
網頁新手入門,手把手用React/Golang(Echo)開發基礎網頁(以簡易智慧家庭為例)28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言